Despite the common use of touchscreen technology in computing devices, many users still prefer to use a physical input device (e.g., keyboard, mouse) for data entry into their computing devices. For some, virtual keyboards that are provided on computing devices can be inconvenient or difficult to use. For example, the virtual keyboard on a smart phone may be too small for entering significant amounts of text via the virtual keyboard. Similarly, some users may prefer to use other types of input devices, such as a wireless mouse or touchpad, to interact with and navigate the display screen of computing devices.
It is also typical for users to have a multitude of computing devices that they use on a regular basis, and even simultaneously. For example, a single user may have a desktop, laptop, smart phone, and tablet computer. Each of these devices may also be running a different operating system (OS) (e.g., Microsoft Windows, Apple iOS, Apple Mac OSX, Android, Linux, ChromeOS).
As a result, users may often interface with more than one of these computing devices at a time. For example, a user may be using a laptop computer for business purposes and a tablet computer for entertainment purposes. It would be cumbersome for a user to carry separate input devices for each computing device and physically move from one input device connected to one computing device to second input device connected to a second computing device in order to utilize both computing devices. Some alternatives allow reusing a single input device for data entry to multiple computing devices. However, these solutions are not without their drawbacks.
In prior solutions, the input device could be paired with computing devices operating different operating systems. However, in these solutions, each time the user wanted to change the host computing device, or host, paired with the input device, the user would be required to toggle a switch on the input device to select the appropriate operating system of the computing device, and then go through a discovery and pairing process with the computing device.
While these input devices may be convenient for pairing with and connecting to one computing device at a time, switching connections between multiple computing devices can present their own share of difficulties. For example, each time the user may want the connection switched between computing devices, the reconnection process has to be performed. If the user often switches between computing devices, this can become an inconvenient experience for the user.
In addition, in prior solutions, a standard input device would be paired with the host computing device without any regard for what operating system was running on the host computing device. While different operating systems may have different functionalities (and different operations based on key selection), prior solutions did not address this, resulting in improper or incorrect mapping of key inputs to operating system instructions.
Based on the foregoing, there is a need in the art for improved methods and systems to be able to use an input device with multiple computing devices running different operating systems.